package com.ruoyi.eamp.mapper;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.eamp.domain.EampEmail;
import com.ruoyi.eamp.domain.vo.EmailAndUserVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 邮件信息表Mapper接口
 * 
 * @author 吴
 * @date 2024-08-07
 */
@Mapper
public interface EampEmailMapper 
{
    /**
     * 查询邮件信息表
     * 
     * @param emailAndUserVO 邮件信息表主键
     * @return 邮件信息表
     */
    public EmailAndUserVO selectEampEmailByEmailId(EmailAndUserVO emailAndUserVO);

    /**
     * 查询邮件信息表列表
     * 
     * @param eampEmail 邮件信息表
     * @return 邮件信息表集合
     */
    public List<EampEmail> selectEampEmailList(EampEmail eampEmail);

    List<EmailAndUserVO> selectEmailAndUserAll(EmailAndUserVO emailAndUserVO);

    /**
     * 新增邮件信息表
     * 
     * @param emailAndUserVO 邮件信息表
     * @return 结果
     */
    public int insertEampEmail(EmailAndUserVO emailAndUserVO);

    /**
     * 修改邮件信息表
     * 
     * @param emailAndUserVO 邮件信息表
     * @return 结果
     */
    public int updateEampEmail(EmailAndUserVO emailAndUserVO);

    /**
     * 删除邮件信息表
     * 
     * @param emailId 邮件信息表主键
     * @return 结果
     */
    public int deleteEampEmailByEmailId(Long emailId);

    /**
     * 批量删除邮件信息表
     * 
     * @param emailIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEampEmailByEmailIds(@Param("emailIds") Long[] emailIds,@Param("userId") Long userId);

    List<SysUser> allUserEmailList(Long userId);

    int insertEampEmailUser(EmailAndUserVO emailAndUserVO);

    int deleteRealEampEmailByEmailIds(@Param("emailIds") Long[] emailIds,@Param("userId") Long userId);

    void updateEampEmailUser(EmailAndUserVO emailAndUserVO);

    int updateStatus(Long ueId);

    int restoreGenre(Long ueId);

    List<EmailAndUserVO> getListBing(EmailAndUserVO emailAndUserVO);

}
